#include<stdio.h>


int main()
{

    //数组：一组地址连续的相同数据类型的元素
    //int a[3];   //定义一个int型数组：有三个int元素
    //a[0]   a[1]   a[2]   数组的下标从0开始


    //{} 初始化一个数组
    //int a[3] = {1,2,3}; 
    // int a[3] = {0};  里面元素全部初始化为0
    //a[1] = 10;
    //a[2] = 20;
    //a[3] = 30;
    int a[100] = {0};
    for(int i = 0;i < 100;i++)
    {
        a[i] = i + 1;
        //printf("%d ",a[i]);
    }


    //数组的内存大小 = 元素个数 * 单个元素的大小
    //printf("%ld\n",sizeof(a));
    //  输出： 400
    
    //printf("%p %p %p\n",&a[0],&a[1],&a[2]);


    //指针的数据类型是它的步长
    
    int *p = &a[0];  //p指针指向a[0]的地址
    //char *p2 = &a[0];
    //printf("%p %p %p",p,p+1,p2+1);
    //用指针访问数组元素
        for(int i = 0;i < 100;i++)
    {   
        printf("%d ",*(p+i));
    }

    //printf("%d\n",*(p+1));

    return 0;

}